package com.itheima.domain.cargo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ShippingExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ShippingExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable{
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andShippingListIdIsNull() {
            addCriterion("shipping_list_Id is null");
            return (Criteria) this;
        }

        public Criteria andShippingListIdIsNotNull() {
            addCriterion("shipping_list_Id is not null");
            return (Criteria) this;
        }

        public Criteria andShippingListIdEqualTo(String value) {
            addCriterion("shipping_list_Id =", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdNotEqualTo(String value) {
            addCriterion("shipping_list_Id <>", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdGreaterThan(String value) {
            addCriterion("shipping_list_Id >", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdGreaterThanOrEqualTo(String value) {
            addCriterion("shipping_list_Id >=", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdLessThan(String value) {
            addCriterion("shipping_list_Id <", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdLessThanOrEqualTo(String value) {
            addCriterion("shipping_list_Id <=", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdLike(String value) {
            addCriterion("shipping_list_Id like", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdNotLike(String value) {
            addCriterion("shipping_list_Id not like", value, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdIn(List<String> values) {
            addCriterion("shipping_list_Id in", values, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdNotIn(List<String> values) {
            addCriterion("shipping_list_Id not in", values, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdBetween(String value1, String value2) {
            addCriterion("shipping_list_Id between", value1, value2, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andShippingListIdNotBetween(String value1, String value2) {
            addCriterion("shipping_list_Id not between", value1, value2, "shippingListId");
            return (Criteria) this;
        }

        public Criteria andTransoprtIsNull() {
            addCriterion("transoprt is null");
            return (Criteria) this;
        }

        public Criteria andTransoprtIsNotNull() {
            addCriterion("transoprt is not null");
            return (Criteria) this;
        }

        public Criteria andTransoprtEqualTo(String value) {
            addCriterion("transoprt =", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtNotEqualTo(String value) {
            addCriterion("transoprt <>", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtGreaterThan(String value) {
            addCriterion("transoprt >", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtGreaterThanOrEqualTo(String value) {
            addCriterion("transoprt >=", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtLessThan(String value) {
            addCriterion("transoprt <", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtLessThanOrEqualTo(String value) {
            addCriterion("transoprt <=", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtLike(String value) {
            addCriterion("transoprt like", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtNotLike(String value) {
            addCriterion("transoprt not like", value, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtIn(List<String> values) {
            addCriterion("transoprt in", values, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtNotIn(List<String> values) {
            addCriterion("transoprt not in", values, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtBetween(String value1, String value2) {
            addCriterion("transoprt between", value1, value2, "transoprt");
            return (Criteria) this;
        }

        public Criteria andTransoprtNotBetween(String value1, String value2) {
            addCriterion("transoprt not between", value1, value2, "transoprt");
            return (Criteria) this;
        }

        public Criteria andHosterIsNull() {
            addCriterion("hoster is null");
            return (Criteria) this;
        }

        public Criteria andHosterIsNotNull() {
            addCriterion("hoster is not null");
            return (Criteria) this;
        }

        public Criteria andHosterEqualTo(String value) {
            addCriterion("hoster =", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterNotEqualTo(String value) {
            addCriterion("hoster <>", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterGreaterThan(String value) {
            addCriterion("hoster >", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterGreaterThanOrEqualTo(String value) {
            addCriterion("hoster >=", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterLessThan(String value) {
            addCriterion("hoster <", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterLessThanOrEqualTo(String value) {
            addCriterion("hoster <=", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterLike(String value) {
            addCriterion("hoster like", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterNotLike(String value) {
            addCriterion("hoster not like", value, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterIn(List<String> values) {
            addCriterion("hoster in", values, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterNotIn(List<String> values) {
            addCriterion("hoster not in", values, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterBetween(String value1, String value2) {
            addCriterion("hoster between", value1, value2, "hoster");
            return (Criteria) this;
        }

        public Criteria andHosterNotBetween(String value1, String value2) {
            addCriterion("hoster not between", value1, value2, "hoster");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andPersonIsNull() {
            addCriterion("person is null");
            return (Criteria) this;
        }

        public Criteria andPersonIsNotNull() {
            addCriterion("person is not null");
            return (Criteria) this;
        }

        public Criteria andPersonEqualTo(String value) {
            addCriterion("person =", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonNotEqualTo(String value) {
            addCriterion("person <>", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonGreaterThan(String value) {
            addCriterion("person >", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonGreaterThanOrEqualTo(String value) {
            addCriterion("person >=", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonLessThan(String value) {
            addCriterion("person <", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonLessThanOrEqualTo(String value) {
            addCriterion("person <=", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonLike(String value) {
            addCriterion("person like", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonNotLike(String value) {
            addCriterion("person not like", value, "person");
            return (Criteria) this;
        }

        public Criteria andPersonIn(List<String> values) {
            addCriterion("person in", values, "person");
            return (Criteria) this;
        }

        public Criteria andPersonNotIn(List<String> values) {
            addCriterion("person not in", values, "person");
            return (Criteria) this;
        }

        public Criteria andPersonBetween(String value1, String value2) {
            addCriterion("person between", value1, value2, "person");
            return (Criteria) this;
        }

        public Criteria andPersonNotBetween(String value1, String value2) {
            addCriterion("person not between", value1, value2, "person");
            return (Criteria) this;
        }

        public Criteria andCreditIsNull() {
            addCriterion("credit is null");
            return (Criteria) this;
        }

        public Criteria andCreditIsNotNull() {
            addCriterion("credit is not null");
            return (Criteria) this;
        }

        public Criteria andCreditEqualTo(String value) {
            addCriterion("credit =", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditNotEqualTo(String value) {
            addCriterion("credit <>", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditGreaterThan(String value) {
            addCriterion("credit >", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditGreaterThanOrEqualTo(String value) {
            addCriterion("credit >=", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditLessThan(String value) {
            addCriterion("credit <", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditLessThanOrEqualTo(String value) {
            addCriterion("credit <=", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditLike(String value) {
            addCriterion("credit like", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditNotLike(String value) {
            addCriterion("credit not like", value, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditIn(List<String> values) {
            addCriterion("credit in", values, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditNotIn(List<String> values) {
            addCriterion("credit not in", values, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditBetween(String value1, String value2) {
            addCriterion("credit between", value1, value2, "credit");
            return (Criteria) this;
        }

        public Criteria andCreditNotBetween(String value1, String value2) {
            addCriterion("credit not between", value1, value2, "credit");
            return (Criteria) this;
        }

        public Criteria andShipmentPortIsNull() {
            addCriterion("shipment_port is null");
            return (Criteria) this;
        }

        public Criteria andShipmentPortIsNotNull() {
            addCriterion("shipment_port is not null");
            return (Criteria) this;
        }

        public Criteria andShipmentPortEqualTo(String value) {
            addCriterion("shipment_port =", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortNotEqualTo(String value) {
            addCriterion("shipment_port <>", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortGreaterThan(String value) {
            addCriterion("shipment_port >", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortGreaterThanOrEqualTo(String value) {
            addCriterion("shipment_port >=", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortLessThan(String value) {
            addCriterion("shipment_port <", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortLessThanOrEqualTo(String value) {
            addCriterion("shipment_port <=", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortLike(String value) {
            addCriterion("shipment_port like", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortNotLike(String value) {
            addCriterion("shipment_port not like", value, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortIn(List<String> values) {
            addCriterion("shipment_port in", values, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortNotIn(List<String> values) {
            addCriterion("shipment_port not in", values, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortBetween(String value1, String value2) {
            addCriterion("shipment_port between", value1, value2, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andShipmentPortNotBetween(String value1, String value2) {
            addCriterion("shipment_port not between", value1, value2, "shipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortIsNull() {
            addCriterion("transshipment_port is null");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortIsNotNull() {
            addCriterion("transshipment_port is not null");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortEqualTo(String value) {
            addCriterion("transshipment_port =", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortNotEqualTo(String value) {
            addCriterion("transshipment_port <>", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortGreaterThan(String value) {
            addCriterion("transshipment_port >", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortGreaterThanOrEqualTo(String value) {
            addCriterion("transshipment_port >=", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortLessThan(String value) {
            addCriterion("transshipment_port <", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortLessThanOrEqualTo(String value) {
            addCriterion("transshipment_port <=", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortLike(String value) {
            addCriterion("transshipment_port like", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortNotLike(String value) {
            addCriterion("transshipment_port not like", value, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortIn(List<String> values) {
            addCriterion("transshipment_port in", values, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortNotIn(List<String> values) {
            addCriterion("transshipment_port not in", values, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortBetween(String value1, String value2) {
            addCriterion("transshipment_port between", value1, value2, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andTransshipmentPortNotBetween(String value1, String value2) {
            addCriterion("transshipment_port not between", value1, value2, "transshipmentPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortIsNull() {
            addCriterion("destination_port is null");
            return (Criteria) this;
        }

        public Criteria andDestinationPortIsNotNull() {
            addCriterion("destination_port is not null");
            return (Criteria) this;
        }

        public Criteria andDestinationPortEqualTo(String value) {
            addCriterion("destination_port =", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortNotEqualTo(String value) {
            addCriterion("destination_port <>", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortGreaterThan(String value) {
            addCriterion("destination_port >", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortGreaterThanOrEqualTo(String value) {
            addCriterion("destination_port >=", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortLessThan(String value) {
            addCriterion("destination_port <", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortLessThanOrEqualTo(String value) {
            addCriterion("destination_port <=", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortLike(String value) {
            addCriterion("destination_port like", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortNotLike(String value) {
            addCriterion("destination_port not like", value, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortIn(List<String> values) {
            addCriterion("destination_port in", values, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortNotIn(List<String> values) {
            addCriterion("destination_port not in", values, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortBetween(String value1, String value2) {
            addCriterion("destination_port between", value1, value2, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andDestinationPortNotBetween(String value1, String value2) {
            addCriterion("destination_port not between", value1, value2, "destinationPort");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodIsNull() {
            addCriterion("loading_period is null");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodIsNotNull() {
            addCriterion("loading_period is not null");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodEqualTo(Date value) {
            addCriterion("loading_period =", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodNotEqualTo(Date value) {
            addCriterion("loading_period <>", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodGreaterThan(Date value) {
            addCriterion("loading_period >", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodGreaterThanOrEqualTo(Date value) {
            addCriterion("loading_period >=", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodLessThan(Date value) {
            addCriterion("loading_period <", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodLessThanOrEqualTo(Date value) {
            addCriterion("loading_period <=", value, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodIn(List<Date> values) {
            addCriterion("loading_period in", values, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodNotIn(List<Date> values) {
            addCriterion("loading_period not in", values, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodBetween(Date value1, Date value2) {
            addCriterion("loading_period between", value1, value2, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andLoadingPeriodNotBetween(Date value1, Date value2) {
            addCriterion("loading_period not between", value1, value2, "loadingPeriod");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityIsNull() {
            addCriterion("period_of_validity is null");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityIsNotNull() {
            addCriterion("period_of_validity is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityEqualTo(Date value) {
            addCriterion("period_of_validity =", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityNotEqualTo(Date value) {
            addCriterion("period_of_validity <>", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityGreaterThan(Date value) {
            addCriterion("period_of_validity >", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityGreaterThanOrEqualTo(Date value) {
            addCriterion("period_of_validity >=", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityLessThan(Date value) {
            addCriterion("period_of_validity <", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityLessThanOrEqualTo(Date value) {
            addCriterion("period_of_validity <=", value, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityIn(List<Date> values) {
            addCriterion("period_of_validity in", values, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityNotIn(List<Date> values) {
            addCriterion("period_of_validity not in", values, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityBetween(Date value1, Date value2) {
            addCriterion("period_of_validity between", value1, value2, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andPeriodOfValidityNotBetween(Date value1, Date value2) {
            addCriterion("period_of_validity not between", value1, value2, "periodOfValidity");
            return (Criteria) this;
        }

        public Criteria andBatchesIsNull() {
            addCriterion("batches is null");
            return (Criteria) this;
        }

        public Criteria andBatchesIsNotNull() {
            addCriterion("batches is not null");
            return (Criteria) this;
        }

        public Criteria andBatchesEqualTo(String value) {
            addCriterion("batches =", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesNotEqualTo(String value) {
            addCriterion("batches <>", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesGreaterThan(String value) {
            addCriterion("batches >", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesGreaterThanOrEqualTo(String value) {
            addCriterion("batches >=", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesLessThan(String value) {
            addCriterion("batches <", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesLessThanOrEqualTo(String value) {
            addCriterion("batches <=", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesLike(String value) {
            addCriterion("batches like", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesNotLike(String value) {
            addCriterion("batches not like", value, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesIn(List<String> values) {
            addCriterion("batches in", values, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesNotIn(List<String> values) {
            addCriterion("batches not in", values, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesBetween(String value1, String value2) {
            addCriterion("batches between", value1, value2, "batches");
            return (Criteria) this;
        }

        public Criteria andBatchesNotBetween(String value1, String value2) {
            addCriterion("batches not between", value1, value2, "batches");
            return (Criteria) this;
        }

        public Criteria andTransshipmentIsNull() {
            addCriterion("transshipment is null");
            return (Criteria) this;
        }

        public Criteria andTransshipmentIsNotNull() {
            addCriterion("transshipment is not null");
            return (Criteria) this;
        }

        public Criteria andTransshipmentEqualTo(String value) {
            addCriterion("transshipment =", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentNotEqualTo(String value) {
            addCriterion("transshipment <>", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentGreaterThan(String value) {
            addCriterion("transshipment >", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentGreaterThanOrEqualTo(String value) {
            addCriterion("transshipment >=", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentLessThan(String value) {
            addCriterion("transshipment <", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentLessThanOrEqualTo(String value) {
            addCriterion("transshipment <=", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentLike(String value) {
            addCriterion("transshipment like", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentNotLike(String value) {
            addCriterion("transshipment not like", value, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentIn(List<String> values) {
            addCriterion("transshipment in", values, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentNotIn(List<String> values) {
            addCriterion("transshipment not in", values, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentBetween(String value1, String value2) {
            addCriterion("transshipment between", value1, value2, "transshipment");
            return (Criteria) this;
        }

        public Criteria andTransshipmentNotBetween(String value1, String value2) {
            addCriterion("transshipment not between", value1, value2, "transshipment");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesIsNull() {
            addCriterion("number_of_copies is null");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesIsNotNull() {
            addCriterion("number_of_copies is not null");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesEqualTo(String value) {
            addCriterion("number_of_copies =", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesNotEqualTo(String value) {
            addCriterion("number_of_copies <>", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesGreaterThan(String value) {
            addCriterion("number_of_copies >", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesGreaterThanOrEqualTo(String value) {
            addCriterion("number_of_copies >=", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesLessThan(String value) {
            addCriterion("number_of_copies <", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesLessThanOrEqualTo(String value) {
            addCriterion("number_of_copies <=", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesLike(String value) {
            addCriterion("number_of_copies like", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesNotLike(String value) {
            addCriterion("number_of_copies not like", value, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesIn(List<String> values) {
            addCriterion("number_of_copies in", values, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesNotIn(List<String> values) {
            addCriterion("number_of_copies not in", values, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesBetween(String value1, String value2) {
            addCriterion("number_of_copies between", value1, value2, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andNumberOfCopiesNotBetween(String value1, String value2) {
            addCriterion("number_of_copies not between", value1, value2, "numberOfCopies");
            return (Criteria) this;
        }

        public Criteria andAccountForIsNull() {
            addCriterion("account_for is null");
            return (Criteria) this;
        }

        public Criteria andAccountForIsNotNull() {
            addCriterion("account_for is not null");
            return (Criteria) this;
        }

        public Criteria andAccountForEqualTo(String value) {
            addCriterion("account_for =", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForNotEqualTo(String value) {
            addCriterion("account_for <>", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForGreaterThan(String value) {
            addCriterion("account_for >", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForGreaterThanOrEqualTo(String value) {
            addCriterion("account_for >=", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForLessThan(String value) {
            addCriterion("account_for <", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForLessThanOrEqualTo(String value) {
            addCriterion("account_for <=", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForLike(String value) {
            addCriterion("account_for like", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForNotLike(String value) {
            addCriterion("account_for not like", value, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForIn(List<String> values) {
            addCriterion("account_for in", values, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForNotIn(List<String> values) {
            addCriterion("account_for not in", values, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForBetween(String value1, String value2) {
            addCriterion("account_for between", value1, value2, "accountFor");
            return (Criteria) this;
        }

        public Criteria andAccountForNotBetween(String value1, String value2) {
            addCriterion("account_for not between", value1, value2, "accountFor");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementIsNull() {
            addCriterion("transport_requirement is null");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementIsNotNull() {
            addCriterion("transport_requirement is not null");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementEqualTo(String value) {
            addCriterion("transport_requirement =", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementNotEqualTo(String value) {
            addCriterion("transport_requirement <>", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementGreaterThan(String value) {
            addCriterion("transport_requirement >", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementGreaterThanOrEqualTo(String value) {
            addCriterion("transport_requirement >=", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementLessThan(String value) {
            addCriterion("transport_requirement <", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementLessThanOrEqualTo(String value) {
            addCriterion("transport_requirement <=", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementLike(String value) {
            addCriterion("transport_requirement like", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementNotLike(String value) {
            addCriterion("transport_requirement not like", value, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementIn(List<String> values) {
            addCriterion("transport_requirement in", values, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementNotIn(List<String> values) {
            addCriterion("transport_requirement not in", values, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementBetween(String value1, String value2) {
            addCriterion("transport_requirement between", value1, value2, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andTransportRequirementNotBetween(String value1, String value2) {
            addCriterion("transport_requirement not between", value1, value2, "transportRequirement");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsIsNull() {
            addCriterion("shipping_instructions is null");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsIsNotNull() {
            addCriterion("shipping_instructions is not null");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsEqualTo(String value) {
            addCriterion("shipping_instructions =", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsNotEqualTo(String value) {
            addCriterion("shipping_instructions <>", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsGreaterThan(String value) {
            addCriterion("shipping_instructions >", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsGreaterThanOrEqualTo(String value) {
            addCriterion("shipping_instructions >=", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsLessThan(String value) {
            addCriterion("shipping_instructions <", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsLessThanOrEqualTo(String value) {
            addCriterion("shipping_instructions <=", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsLike(String value) {
            addCriterion("shipping_instructions like", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsNotLike(String value) {
            addCriterion("shipping_instructions not like", value, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsIn(List<String> values) {
            addCriterion("shipping_instructions in", values, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsNotIn(List<String> values) {
            addCriterion("shipping_instructions not in", values, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsBetween(String value1, String value2) {
            addCriterion("shipping_instructions between", value1, value2, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andShippingInstructionsNotBetween(String value1, String value2) {
            addCriterion("shipping_instructions not between", value1, value2, "shippingInstructions");
            return (Criteria) this;
        }

        public Criteria andReviewerIsNull() {
            addCriterion("reviewer is null");
            return (Criteria) this;
        }

        public Criteria andReviewerIsNotNull() {
            addCriterion("reviewer is not null");
            return (Criteria) this;
        }

        public Criteria andReviewerEqualTo(String value) {
            addCriterion("reviewer =", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotEqualTo(String value) {
            addCriterion("reviewer <>", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerGreaterThan(String value) {
            addCriterion("reviewer >", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerGreaterThanOrEqualTo(String value) {
            addCriterion("reviewer >=", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLessThan(String value) {
            addCriterion("reviewer <", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLessThanOrEqualTo(String value) {
            addCriterion("reviewer <=", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLike(String value) {
            addCriterion("reviewer like", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotLike(String value) {
            addCriterion("reviewer not like", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerIn(List<String> values) {
            addCriterion("reviewer in", values, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotIn(List<String> values) {
            addCriterion("reviewer not in", values, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerBetween(String value1, String value2) {
            addCriterion("reviewer between", value1, value2, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotBetween(String value1, String value2) {
            addCriterion("reviewer not between", value1, value2, "reviewer");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptIsNull() {
            addCriterion("create_byDept is null");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptIsNotNull() {
            addCriterion("create_byDept is not null");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptEqualTo(String value) {
            addCriterion("create_byDept =", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptNotEqualTo(String value) {
            addCriterion("create_byDept <>", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptGreaterThan(String value) {
            addCriterion("create_byDept >", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptGreaterThanOrEqualTo(String value) {
            addCriterion("create_byDept >=", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptLessThan(String value) {
            addCriterion("create_byDept <", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptLessThanOrEqualTo(String value) {
            addCriterion("create_byDept <=", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptLike(String value) {
            addCriterion("create_byDept like", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptNotLike(String value) {
            addCriterion("create_byDept not like", value, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptIn(List<String> values) {
            addCriterion("create_byDept in", values, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptNotIn(List<String> values) {
            addCriterion("create_byDept not in", values, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptBetween(String value1, String value2) {
            addCriterion("create_byDept between", value1, value2, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydeptNotBetween(String value1, String value2) {
            addCriterion("create_byDept not between", value1, value2, "createBydept");
            return (Criteria) this;
        }

        public Criteria andCreateBydateIsNull() {
            addCriterion("create_byDate is null");
            return (Criteria) this;
        }

        public Criteria andCreateBydateIsNotNull() {
            addCriterion("create_byDate is not null");
            return (Criteria) this;
        }

        public Criteria andCreateBydateEqualTo(Date value) {
            addCriterion("create_byDate =", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateNotEqualTo(Date value) {
            addCriterion("create_byDate <>", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateGreaterThan(Date value) {
            addCriterion("create_byDate >", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_byDate >=", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateLessThan(Date value) {
            addCriterion("create_byDate <", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateLessThanOrEqualTo(Date value) {
            addCriterion("create_byDate <=", value, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateIn(List<Date> values) {
            addCriterion("create_byDate in", values, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateNotIn(List<Date> values) {
            addCriterion("create_byDate not in", values, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateBetween(Date value1, Date value2) {
            addCriterion("create_byDate between", value1, value2, "createBydate");
            return (Criteria) this;
        }

        public Criteria andCreateBydateNotBetween(Date value1, Date value2) {
            addCriterion("create_byDate not between", value1, value2, "createBydate");
            return (Criteria) this;
        }

        public Criteria andMarksIsNull() {
            addCriterion("marks is null");
            return (Criteria) this;
        }

        public Criteria andMarksIsNotNull() {
            addCriterion("marks is not null");
            return (Criteria) this;
        }

        public Criteria andMarksEqualTo(String value) {
            addCriterion("marks =", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksNotEqualTo(String value) {
            addCriterion("marks <>", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksGreaterThan(String value) {
            addCriterion("marks >", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksGreaterThanOrEqualTo(String value) {
            addCriterion("marks >=", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksLessThan(String value) {
            addCriterion("marks <", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksLessThanOrEqualTo(String value) {
            addCriterion("marks <=", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksLike(String value) {
            addCriterion("marks like", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksNotLike(String value) {
            addCriterion("marks not like", value, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksIn(List<String> values) {
            addCriterion("marks in", values, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksNotIn(List<String> values) {
            addCriterion("marks not in", values, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksBetween(String value1, String value2) {
            addCriterion("marks between", value1, value2, "marks");
            return (Criteria) this;
        }

        public Criteria andMarksNotBetween(String value1, String value2) {
            addCriterion("marks not between", value1, value2, "marks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable{

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable{
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}